package com.tancire.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tancire.common.annotation.Excel;
import com.tancire.common.core.domain.BaseEntity;

/**
 * 应用管理对象 sys_app
 *
 * @author tancire
 * @date 2024-06-13
 */
public class SysApp extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long appId;

    /** 应用名字 */
    @Excel(name = "应用名字")
    private String appName;

    /** 应用状态 0 正常 1 停用 */
    @Excel(name = "应用状态 0 正常 1 停用")
    private Integer appStatus;

    /** 有效期至 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期至", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appExpirationTime;

    /** 公钥 */
    @Excel(name = "公钥")
    private String pubKey;

    /** 私钥 */
    @Excel(name = "私钥")
    private String prvKey;

    /** 租户ID */
    @Excel(name = "租户ID")
    private Long tenantId;

    /** 租户名称 */
    @Excel(name = "租户名称")
    private String tenantName;

    /** 0 正常  1 删除  真删除，字段保留 */
    private Integer delFlag;

    public void setAppId(Long appId) {
        this.appId = appId;
    }

    public Long getAppId() {
        return appId;
    }
    public void setAppName(String appName) {
        this.appName = appName;
    }

    public String getAppName() {
        return appName;
    }
    public void setAppStatus(Integer appStatus) {
        this.appStatus = appStatus;
    }

    public Integer getAppStatus() {
        return appStatus;
    }
    public void setAppExpirationTime(Date appExpirationTime) {
        this.appExpirationTime = appExpirationTime;
    }

    public Date getAppExpirationTime() {
        return appExpirationTime;
    }
    public void setPubKey(String pubKey) {
        this.pubKey = pubKey;
    }

    public String getPubKey() {
        return pubKey;
    }
    public void setPrvKey(String prvKey) {
        this.prvKey = prvKey;
    }

    public String getPrvKey() {
        return prvKey;
    }
    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Long getTenantId() {
        return tenantId;
    }
    public void setTenantName(String tenantName) {
        this.tenantName = tenantName;
    }

    public String getTenantName() {
        return tenantName;
    }
    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("appId", getAppId())
            .append("appName", getAppName())
            .append("appStatus", getAppStatus())
            .append("appExpirationTime", getAppExpirationTime())
            .append("pubKey", getPubKey())
            .append("prvKey", getPrvKey())
            .append("tenantId", getTenantId())
            .append("tenantName", getTenantName())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
